import { http } from '@/utils/request'

/**
 * 创建新的用户行程计划
 * @param {Object} plan - 行程计划信息
 * @param {Number} plan.userId - 用户ID
 * @param {String} plan.planName - 行程计划名称
 * @param {String} plan.travelPlan - 行程计划内容
 * @returns {Promise} - 返回创建结果
 */
export const createTravelPlan = (data) => http.post('/api/travel-plans', data)

/**
 * 修改指定ID的行程计划
 * @param {Number} id - 行程计划ID
 * @param {Object} plan - 行程计划信息
 * @param {Number} plan.userId - 用户ID
 * @param {String} plan.planName - 行程计划名称
 * @param {String} plan.travelPlan - 行程计划内容
 * @returns {Promise} - 返回修改结果
 */
export const updateTravelPlan = (id, data) => http.put(`/api/travel-plans/${id}`, data)

/**
 * 获取指定用户的所有行程计划
 * @param {Number} userId - 用户ID
 * @returns {Promise} - 返回用户的所有行程计划
 */
export const getUserTravelPlans = (userId) => http.get(`/api/travel-plans/user/${userId}`)

/**
 * 获取指定ID的行程计划详情
 * @param {Number} id - 行程计划ID
 * @param {Number} userId - 用户ID
 * @returns {Promise} - 返回行程计划详情
 */
export const getTravelPlanDetail = (id, userId) => http.get(`/api/travel-plans/${id}`, { params: { userId } })

/**
 * 删除指定ID的行程计划
 * @param {Number} id - 行程计划ID
 * @param {Number} userId - 用户ID
 * @returns {Promise} - 返回删除结果
 */
export const deleteTravelPlan = (id, userId) => http.delete(`/api/travel-plans/${id}`, { params: { userId } })